using System;
using System.Collections.Generic;
using System.IO;
using System.Text;

namespace Sandia.MVCFramework.Plugin
{
    /// <summary>
    /// An interface for classes used to find IPlugins.
    /// </summary>
    public interface IPluginFinder
    {
        /// <summary>
        /// Searches the given directory for IPlugins.
        /// </summary>
        /// <param name="dirInfo">The directory to search.</param>
        /// <returns>
        /// A mapping of IPlugin types to dll files which contain them.
        /// </returns>
        IDictionary<Type, FileInfo> Search(DirectoryInfo dirInfo);
    }
}
